# tuple1 = (12, 34, 56)
# tuple2 = ("abc", "mn")
# # 不可以修改元组可以添加
# tuple3 = tuple1 + tuple2
# print(tuple3)
# del(tuple1)
# n=input("姓名")
# t=input("手机号")
# e=input("邮件")
# a=input("地址")
# tuple4 = ("姓名:", n, "手机号:", t, "邮件:", e, "地址", a)
# print(tuple4)
# 列表的创建
# list1 = [1, "hello", 2, "c语言"]
# print(list1)
# print(type(list1))
# # 空列表
# list2 = []
# print(list2)
# # 转化字符串
# l3 = list("hello")
# print(l3)
# # 转化元组
# t1 = tuple("hello")
# l4 = list(t1)
# print(l4)
# # 转化range函数
# r1 = range(5)#0,1,2,3,4
# print(r1)
# l5 = list(r1)
# print(l5)
# 访问列表元素
# l1 = [1, 2, 3, 4, 5, 6, "p", "i"]
# # 正索引访问p
# print(l1[6])
# # 负索引访问p
# print(l1[-2])
# # 切片访问
# l2 = ["p", 'y', "t", "h", "o", "n"]
# # 正切片截取234的元素
# print(l2[2:5])
# # 截取0到2的元素
# print(l2[:3])
# # 截取3-5
# print(l2[3:])
# # 正切片截取1-5 步长为2
# print(l2[1:6:2])
# # 负切片
# print(l2[-5:-1])
# # 步长是负数从右到左
# print(l2[::-1])
# # 用切片访问列表元素
# l3 = ["z", "x", "c", "v", 1, 2, 3]
# # 正向取值
# # 正切片取索引234
# print(l3[2:5])
# # 正切片取前三
# print(l3[:3])
# # 正切片取后三
# print(l3[4:])
# # 正切片取1-5 步长2
# print(l3[1:6:2])
# # 负向取值
# # 取出x c v
# print(l3[-6:-3])
# # 步长为负数取值从右到左
# print(l3[::-1])
# l4 = [1, 2, 3, 4, 5, 6]
# print(l4[::-1])
# # 遍历循环
# # 用for循环
# l4 = ['1', '2', '3', '4']
# for i in l4:
#     print(i)
# # 修改列表元素
# # 修改单个元素
# l4[2] = 1000
# print(l4)
# # 修改多个元素
# l5 = [1, 2, 3, 4, 5, 6]
# # 修改1-4不包含四
# l5[1:4] = [12, -33, 1000]
# print(l5)
# # 添加元素
# l6 = ['a', 'b', 'c']
# l6.append('f')
# print(l6)
# # 列表添加列表
# l6.append(['e', 'f'])
# print(l6)
#
# # 在末尾添加
# l7 = ['a', 'b', 'c']
# l7.extend('d')
# print(l7)
# # 列表添加列表
# l7.extend(['e','f','g','h'])
# print(l7)
# l7.extend('world')
# print(l7)
# # 添加特定
# l8 = ['p','c','j']
# # 插入c++
# l8.insert(2,'c++')
# print(l6)
# 删除元素
# l9 = ['a', 'b', 'g', 'y']
# l9.remove('a')
# print(l9)
# 如果列表没有元素删除会报错
# l9.remove('l')
# pop删除索引元素
l10 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# # 删除索引4
# l10.pop(4)
# print(l10)
# # 不索引删除最后一个
# l10.pop()
# print(l10)
# # del#del可以用来删除列表中单个元素或者一段连续的元素
# L11 = ['a', 'b', 'c', 'd', 'e']
# # 删除索引为1的元素
# del L11[1]
# print(L11)
# l11 = [10, 56, 34, 2, 58, 44, 7]
# # 删除索引为1-3的元素
# del l11[1:4]
# print(l11)
# # 若将列表中所有元素全部删除，可使用列表的clear()方法
# l12 = ['1', '2', '3', '4']
# # 清空
# l12.clear()
# print(l12)
# # 任务
# n_list = []
# p_list = []
# while 1:
#     print('菜单：1.添加联系人 2.修改联系人 3.删除联系人')
#     a = input('请输入选择:')
#     #     添加联系人
#     if a == '1':
#         n_list.append(input('请输入联系人姓名：'))
#         p_list.append(input('请输入联系人手机号：'))
#         print(n_list)
#         print(p_list)
#         # 修改联系人信息
#     elif a == "2":
#         num = int(input('请输入联系人编号：'))
#         if len(n_list) > 0 and num <= len(n_list):
#             n_list[num - 1] = input('修改联系人姓名')
#             p_list[num - 1] = input('修改联系电话')
#         else:
#             print('输入有误')
#     # 删除信息
#     elif a == "3":
#         num = int(input("请输入联系人编号："))
#         if len(n_list) > 0 and num <= len(n_list):
#             n_list.pop(num - 1)
#             p_list.pop(num - 1)
#         else:
#             print("联系人编号输入有误")
#     else:
#         print("显示联系人信息")
#         print(n_list)
#         print(p_list)

# 查找元素 index（）列表名，index[要查找的元素，索引起始位置，索引结束位置]
# ls1 = [1, 3, 5, 7, 'a', 1, 2, 3, 4]
# print(ls1.index(5))
# print(ls1.index(5))
# print(ls1.index('a', 3))
# print(ls1.index(1))
# # count()方法用来统计某个元素在列表中出现的次数 列表名.count(统计的value元素)
# ls2 = [1, 3, 5, 7, 'a', 1, 2, 3, 4]
# print(ls2.count(5))
# print(ls2.count('a'))
# print(ls2.count(0))
# # 元素排序sort（）函数用于对原列表进行排序，如果指定参数 ，则使用指定的比较函数
# # 语法格式为：ls.sort(key=None,reverse=False)
# # 1.元素是字符串的排序
# ls3 = ['1', '3', '44', '23', '99', '88', '56', '233']
# # 默认升序
# ls3.sort()
# print(ls3)
# # 降序 reverse=True
# ls3.sort(reverse=True)
# print(ls3)
# # 字典的创建
# # 1.使用{}创建字典语法格式：
# # 字典名={'key1':'value1','key2':'value2',...,'keyn':valuen}
# # 使用字符串作为key
# d1 = {'python': 98, "可视化": 89, "英语": 85}
# print(type(d1))
# # 使用元组和数字作为key
# d2 = {(23, 89): "great", 30: [1, 3, 4]}
# print(type(d2))
# # 创建空元组
# d3 = {}
# print(d3)
# # 2.用dict（）方法通过关键字的是来创建字典格式:
# # 字典名=dict=dict(key1=value1,key2=value2,key3=value3)
# d4 = dict(数学=98, 语文=87, 英语=89)
# 字典元素的访问
# 1.字典名[key]
d5 = {'数学': 95, '英语': 92, '语文': 84}
print(d5['英语'])
# 2.get()方法来获取指定键对应的值，语法格式：字典名.get(key[,default])
d6 = {'数学': 95, '英语': 92, '语文': 84}
print(d6.get('语文'))
print(d6.get('python'))
print(d6.get('python', '该键不存在'))
# 字典添加键值对
d7= {'数学': 95, '英语': 92, '语文': 84,'python':99}
d7['可视化']=99
print(d7)
# 字典修改键值对
d8= {'数学': 95, '英语': 92, '语文': 84,'python':99}
d8['英语']=100
print(d8)
# 字典删除键值对
d9={'数学': 95, '英语': 92, '语文': 84,'python':99}
# 1.使用del关键字
del d9['语文']
print(d9)
# 2.使用pop（）方法
d9.pop('英语')
print(d9)